<!--
* @description  
* @fileName  el和data的两种写法
* @author zhoujunlin
* @date 2022-02-03 14:33:17
* @version V1.0.0
!-->
<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>el和data的两种写法</title>
    <script src="../js/vue.js"></script>
</head>

<body>
    <!-- 
    data与el的2种写法
	1.el有2种写法
		(1).new Vue时候配置el属性。
		(2).先创建Vue实例，随后再通过vm.$mount('#root')指定el的值。
	2.data有2种写法
		(1).对象式
		(2).函数式
	   如何选择：目前哪种写法都可以，以后学习到组件时，data必须使用函数式，否则会报错。
	3.一个重要的原则：
	   由Vue管理的函数，一定不要写箭头函数，一旦写了箭头函数，this就不再是Vue实例了。
       Vue管理的函数举例：data()，method方法中定义的函数等，this会变成Window
     -->

    <div id="app">
        {{name}}
    </div>

    <script>
        Vue.config.productionTip = false
        /* 方式一 */
        /* var vm = new Vue({
            el: '#app',
            data:{
                // data方式一 直接对象操作
                 name:'golang'
            }
        });
        console.log(vm); */
        /* 方式二 */
        var vm = new Vue({
            // el: '#app',
            // data方式二 函数
            /* data:function(){
                return {
                    name:'golang'
                }
            } */
            data(){
                return {
                    name:'golang'
                }
            }
        });
        vm.$mount("#app")
    </script>
</body>

</html>